package ar.uba.is2.ec.matem.modelo.impl;

import java.util.Collection;

import ar.uba.is2.common.mensaje.contenido.Dato;
import ar.uba.is2.ec.matem.algoritmo.Algoritmo;
import ar.uba.is2.ec.matem.modelo.ModeloEjecutable;
import ar.uba.is2.ec.matem.modelo.ModeloEjecutableFactory;
import ar.uba.is2.ec.matem.modelo.ModeloMatematico;

public class ModeloEjecutableFactoryImpl implements ModeloEjecutableFactory {

	
	@Override
	public ModeloEjecutable construirModeloEjecutable(ModeloMatematico modelo) {
		ModeloEjecutable modeloEjecutable = new ModeloEjecutable();
		
		modeloEjecutable.setIdModelo(modelo.getId());
		
		modeloEjecutable.setReglas(modelo.getReglas());
		
		Algoritmo algoritmo = AlgoritmoFetcher.instance.fetchAlgoritmo(modelo);
		modeloEjecutable.setAlgoritmo(algoritmo);
		
		
		Collection<Dato> datos = DatosFetcher.instance.fetchDatos(modelo.getReglas());
		modeloEjecutable.setDatos(datos);
		
		return modeloEjecutable;
	}

}
